import { AngerType, AttackType, MapType, TargetRankType } from "core/typeDefine/typeDefine";

export default {
    gameType: "round", //游戏类型，目前支持: round, battle
    skillNeedAnger: 100,
    monsterLvlupRate: 50,
    maxRow: 2, //行
    maxCol: 5,//列
    maxRound: {
        [MapType.Normal]: 120,
        [MapType.Instance]: 200,
        [MapType.Abyss]: 300,
        [MapType.Arena]: 100,
        [MapType.WBoss]: 100,
        [MapType.Front]: 100,
    },
    hatredCalcList: {
        1: { //最近的攻击
            isDistance: true,
            isRand: false,
            battlePos: [
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [35, 35, 35, 35, 35, 35, 35, 35, 35, 35],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        2: { //随机攻击
            isDistance: true,
            isRand: true,
            battlePos: [
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [35, 35, 35, 35, 35, 35, 35, 35, 35, 35],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        3: { //优先生命最少的
            isDistance: true,
            isRand: false,
            rangeType: 3,
            battlePos: [
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [35, 35, 35, 35, 35, 35, 35, 35, 35, 35],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        4: { //最近的攻击,攻击后方敌人, 穿透
            isDistance: true,
            isRand: false,
            rangeType: 1,
            battlePos: [
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [35, 35, 35, 35, 35, 35, 35, 35, 35, 35],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        5: { //优先攻击后排
            isDistance: true,
            isRand: false,
            rangeType: 4,
            battlePos: [
                [10, 10, 10, 10, 10, 10, 10, 10, 10, 100],
                [90000, 90000, 90000, 90000, 90000, 90000, 90000, 90000, 90000, 20],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        6: { //最近的攻击,攻击范围内的敌人
            isDistance: true,
            isRand: false,
            rangeType: 4,
            battlePos: [
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [35, 35, 35, 35, 35, 35, 35, 35, 35, 35],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        7: { //AttackOther
            isDistance: true,
            isRand: true,
            battlePos: [
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [35, 35, 35, 35, 35, 35, 35, 35, 35, 35],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        8: { //优先生命最多的
            isDistance: false,
            isRand: false,
            rangeType: 3,
            battlePos: [
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [35, 35, 35, 35, 35, 35, 35, 35, 35, 35],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        9: { //优先攻击后排
            isDistance: true,
            isRand: false,
            battlePos: [
                [10, 10, 10, 10, 10, 10, 10, 10, 10, 100],
                [90000, 90000, 90000, 90000, 90000, 90000, 90000, 90000, 90000, 90000],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
        10: { //优先攻击攻击力最高的
            isDistance: true,
            isRand: false,
            rangeType: 5,
            battlePos: [
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            ]
        },
    },
    battlePosHatredData: {
        1: [  //前排优先
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [20, 20, 20, 20, 20, 20, 20, 20, 20, 20],
            [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
        ],
        2: [  //前排
            [100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000],
            [30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
            [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
        ],
        3: [ //后排优先
            [20, 20, 20, 20, 20, 20, 20, 20, 20, 20],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
        ],
        4: [ //后排
            [30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
            [100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000],
            [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
            [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
        ]
    },
    defaultAttackData: {
        attackType: AttackType.Normal, //攻击类型
        hurtPer: [100, 0], //伤害百分比
        hurtIsShare: false, //伤害是否分摊
        attackTimes: [1, 0], //攻击次数
        hurtDec: 0, //多目标伤害递减
        hurtInc: 0, //多目标伤害递增
        breakShieldPer: [0, 0], //击碎目标30%护盾
        hpHurtPer: [0, 0], // 造成目标最大生命百分比的伤害
        attackerHpHurtPer: [0, 0], //攻击者造成最大生命百分比的伤害
        negativeHurtPer: 0, //负面状态伤害百分比
        hartedData: null, //仇恨数据
    },
    defaultHartedData: {  //默认仇恨配置
        targetRankType: TargetRankType.Hatred, //仇恨排序类型 0, 随机, 1: 按仇恨值排序,2: 生命最多, 3: 生命最少, 4: 攻击力最高, 5: 攻击力最低, 
        isDistance: true, //是否根据距离排序
        sortByWeight: false, //仇恨值排序按照比重随机排序,
        battlePosHatredID: 1, // 1 优先前排 2 必须前排 3 后排优先 4 必须后排
        targetAmount: [1, 0],  //目标数量
        range: null, //范围
    },
    // getAnger: 100,
    blockReduceHurt: 35, //格挡减伤
    doubleGetAngerPer: 20, //连击回魔率
    recoverHpCd: 5000,
    recoverMpCd: 3000,
    maxAnger: 200,
    getAnger: [
        {
            [AngerType.Attack]: 50,
            [AngerType.BeAttack]: 5,
            [AngerType.Round]: 0
        },
        {
            [AngerType.Attack]: 50,
            [AngerType.BeAttack]: 5,
            [AngerType.Round]: 0
        },
        {
            [AngerType.Attack]: 50,
            [AngerType.BeAttack]: 5,
            [AngerType.Round]: 0
        },
        {
            [AngerType.Attack]: 15,
            [AngerType.BeAttack]: 0,
            [AngerType.Round]: 15
        },
        {
            [AngerType.Attack]: 15,
            [AngerType.BeAttack]: 0,
            [AngerType.Round]: 15
        },
        {
            [AngerType.Attack]: 15,
            [AngerType.BeAttack]: 0,
            [AngerType.Round]: 15
        }
    ],

    // normalAttackData: {
    //     1: { //最近的攻击,数量1
    //         hatredCalcID: 1,
    //         attackAmount: 1,
    //         attackRange: null,
    //     },
    //     2: { //随机攻击,数量2
    //         hatredCalcID: 2,
    //         attackAmount: 2,
    //         attackRange: null,
    //     },
    //     3: { //优先生命最多的,数量1
    //         hatredCalcID: 8,
    //         attackAmount: 1,
    //         attackRange: null,
    //     },
    //     4: { //优先攻击后排,数量1
    //         hatredCalcID: 9,
    //         attackAmount: 1,
    //         attackRange: null,
    //     },
    //     5: { //优先攻击攻击力最高,数量1
    //         hatredCalcID: 10,
    //         attackAmount: 1,
    //         attackRange: null,
    //     },
    //     6: { //攻击前排敌人
    //         hatredCalcID: 6,
    //         attackAmount: 1,
    //         attackRange: [6, 1],
    //     },
    //     7: { //攻击后排敌人, 2个
    //         hatredCalcID: 9,
    //         attackAmount: 2,
    //         attackRange: null,
    //     }
    // }
}